Add ECS support, authentication, user management, and admin settings - #91
Merged
Conversation
- README.md: Add ECS support, auth system, user/settings management, new API endpoints, updated project structure, new CI/CD workflows (frontend-tests, ecs-build), IAM module, and Makefile targets - CLAUDE.md: Add ECS collector/routes, auth/users/settings routes and services, auth context/patterns, topology filtering, settings UI components, updated directory structure and quick reference - infrastructure/README.md: Add IAM module to module table with description of its role and policies - infrastructure/modules/iam/README.md: New README documenting the standalone IAM module resources, variables, and outputs https://claude.ai/code/session_01GSu1MTW8XvAbfNK28ug1kU
Version updates: - VERSION: 1.3.0 -> 1.4.0 - frontend/package.json: 1.2.2 -> 1.4.0 (sync with project version) - frontend/package-lock.json: updated accordingly Documentation updates: - README.md: Add missing env vars (LOCAL_AUTH_ENABLED, ADMIN_USERNAME, ADMIN_PASSWORD, FRONTEND_URL, token expiration settings) - CLAUDE.md: Add same env vars, update VERSION example to 1.4.0 - infrastructure/README.md: Add secrets module description documenting Secrets Manager integration for session, OIDC, and admin password persistence; add app_task_role_arn to outputs table https://claude.ai/code/session_01GSu1MTW8XvAbfNK28ug1kU
🐳 Docker Build Results
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR introduces comprehensive authentication and authorization features, adds ECS container monitoring, and implements an admin settings panel for managing OIDC providers and Terraform state buckets. The application now supports both local username/password authentication and SSO via OIDC, with token-based session management and role-based access control.
Key Changes
Authentication & Authorization
api/deps.py)ECS Container Monitoring
collectors/ecs.pyfor fetching ECS clusters, services, and task definitions/api/ecs,/api/ecs/clusters,/api/ecs/{task_id}for container dataAdmin Settings Management
/api/settings/*endpoints for admin-only configurationservices/settings.pyfor persisting configuration to databaseDatabase & Models
User,Session,AuthSettingsSQLAlchemy models for authentication stateTerraformBucket,TerraformStatePathfor Terraform configuration persistenceFrontend Enhancements
AuthContextfor managing tokens, auto-refresh, and user stateProtectedRoutecomponent for auth-required pagesAuthCallbackPagefor SSO redirect handlingInfrastructure & Deployment
Documentation & Configuration
LOCAL_AUTH_ENABLED,ADMIN_USERNAME,ADMIN_PASSWORD,FRONTEND_URL, token TTLs)CONTRIBUTING.mdandSECURITY.mdfilesVERSIONfile andversion.pyfor app versioningImplementation Details
get_current_user()andget_current_admin_user()dependencies protect routesservices/auth.pyandservices/settings.pyresources.py,auth.py,settings.py)https://claude.ai/code/session_01GSu1MTW8XvAbfNK28ug1kU